const momentService = require('../service/moment.service')
class MomentController {
  // 窗口动态
  async create(ctx, next) {
    // 1.获取动态的内容
    const { content } = ctx.request.body

    // 2.动态是谁发布的
    const { id } = ctx.user
    console.log(content,id)

    // 3.将数据存入数据库中
    try {
      const result = await momentService.create(content, id)
      ctx.body = {
        code: 0,
        message: '创建用户动态成功',
        data: result
      }
    }catch(err) {

    }
    
  }
  // 获取动态列表
  async list(ctx, next){
    // 获取offset 和size
    const { offset, size } = ctx.query

    // 从数据库中查询动态列表
    const result = await momentService.queryList(offset, size)

    // 返回数据
    ctx.body = {
      code: 0,
      message: '获取动态列表成功',
      data: result
    }
  }
  // 获取某一个动态的详情
  async detail(ctx, next) {
    // 获取某一个动态的id
    const { momentId } = ctx.params

    // 从数据库中查询
    const result = await momentService.queryById(momentId)

    // 返回结果
    ctx.body = {
      code: 0,
      message: '获取动态详情成功',
      data: result
    }
  }

  // 修改某一个动态
  async update(ctx, next) {
    // 获取某一个动态的id
    const { momentId } = ctx.params
    const { content } = ctx.request.body
    // 从数据库中查询
    const result = await momentService.update(content,momentId)
    // 返回结果
    ctx.body = {
      code: 0,
      message: '更新动态内容成功',
      data: result
    }
  }
  // 删除动态
  async delete(ctx, next){
    // 获取要删除的id
    const { momentId } = ctx.params

    // 执行数据库的操作
    const result = await momentService.delete(momentId)
    // 返回结果
    ctx.body = {
      code: 0,
      message: '删除动态成功',
      data: result
    }
  }
  // 添加标签
  async addLabels(ctx, next) {
    // 获取一些参数
    const { labels } = ctx
    const { momentId } = ctx.params
    console.log(labels,momentId)
  }

}

module.exports = new MomentController()